<?php
namespace app\common\model;
use app\common\model\Common;
use \think\Loader;

// +----------------------------------------------------------------------
// | XpCms
// +----------------------------------------------------------------------
// | Copyright (c) 2021-2099
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: Mercurio（Xp） <725668993@qq.com>
// +----------------------------------------------------------------------

/*
** 自定义标签表 模型
*/

class Model extends Common {
	
	// 注册模型事件
	protected static function init() {
		// 新增后事件
		Model::afterInsert(function($_model) {
			// 获取传入的数据
			$data = $_model -> data;
			
			
		});
	}
	
	// 获取分类列表
	public function modelLists() {
		// 按 path 升序
		$lists = $this -> order('id', 'asc') -> select();
		
		return $lists;
	}
	
	// 获取单个自定义标签详情
	public function getModelDetail($id) {
		$lists = $this -> find($id);
		
		if($lists){
			return $lists;
		}
		
		return false;
	}
	
	// 编辑状态
	public function editStatus($id) {
		$lists = $this -> where('id', '=', $id) -> find();
		
		if($lists){
			$status = $lists['status'] ? 0 : 1;
			
			$result = $this -> save(array('status' => $status), array('id' => $id));
			if($result){
				return true;
			}
		}
		return false;
	}
	
	// 获取最后一个code
    public function getLastCode()
    {
        return $this -> order('id DESC') -> value('mcode');
    }
	
	// 删除分类
	public function deletes($id) {
		// 验证 id
		$find = $this -> where(array('id' => $id)) -> value('id');
		if(!$find){
			return array('status' => 0, 'msg' => '参数错误');
		}
		
		// 检测当前模型下是否有栏目
		$mcode = $this -> where(array('id' => $id)) -> value('mcode');
		if(Loader::model('Category') -> where(array('mcode' => $mcode)) -> find()){
			return array('status' => 0, 'msg' => '当前模型下存在栏目，不能删除');
		}
		
		// 执行删除
		if($this -> where(array('id' => $id, 'issystem' => 0)) -> delete()){
			return array('status' => 1, 'msg' => '删除成功');
		}
		return array('status' => 0, 'msg' => '删除失败');
	}
	
}
